package com.base.component.ai.workflow.core;

import java.util.List;
import java.util.Map;
import java.util.function.Consumer;

import com.base.component.ai.agent.bo.ContextBO;
import com.base.component.ai.agent.bo.ContextParamBO;
import com.base.component.ai.workflow.flow.Flow;
import com.base.component.ai.workflow.logs.NodeLog;
import com.base.component.ai.workflow.node.Node;

public interface NodeHandle<MSG,AP extends ContextParamBO,PP> {

	<T extends Node>boolean support(Class<T> cls);
	
	<T extends Node>List<Flow> execute(ContextBO<MSG,AP,PP> context,Map<String,Object> params,Flow flow,T node,Consumer<NodeLog> c);
	
}
